“Baby Mental Life: Study 1” was conducted on MTurk on 2018-07-31 through 2018-08-01.
Our planned sample was 300 participants, and we anticipated that roughly 85-90% of recruited participants would pass all of our attention checks, so we initially recruited 342 participants (on the idea that ~87.5% of 342 ~ 300 participants; note that for administrative purposes we need to recuit participants in batches that were divisible by 9). After filtering out participants who failed at least one of our attention checks, we ended up retaining only 80% of participants, so we recruited an additional 36 participants for a total of 378 people recruited (on the idea that ~80% of 378 ~ 300 participants; note that for administrative purposes we need to recuit participants in batches that were divisible by 9). In a slight deviation from our preregistered recruitment plan, we limited these additional 36 participants to women, because we had an unexpectedly large imbalance of men to women.
UPDATE: On 2018-08-09, KW discovered that there were many repeating GPS locations, a symptom of a recent outbreak of bots on MTurk. As of 2019-05-15, these data INCLUDE participants where there is another participant with an identical set of GPS coordinates as recorded by Qualtrics. Excluding these participants would exclude 76 participants (25%).
In the end, we ended up with a sample of 301 participants who passed our attention checks, 225 of whom came from unique GPS coordinates.
Each participant assessed children’s mental capacities at 3 target ages: newborns, 9-month-olds, and 5-year-olds. For each target, they rated 60 mental capacities on a scale from 0 (not at all capable) to 100 (completely capable).
For more details about the study, see our preregistration here.
cannot open file './data/deidentified/baby_mental_life_s1_data.csv': No such file or directoryError in file(file, "rt") : cannot open the connection
NAs introduced by coercionattributes are not identical across measure variables;
they will be droppedJoining, by = "question_qualtrics"
NAs introduced by coercion
Our primary analysis is an exploratory factor analysis (EFA) collapsing across all 3 target characters (and treating an individual participant’s responses to each character as if they were independent data points) - see the preregistration for more details.
We planned to examine three factor retention protocols in order to determine how many factors to retain: Parallel analysis, minimizing BIC, and a set of preset criteria outlined in Weisman et al. (2017). Here we look at each solution in turn.
We planned to examine oblimin-rotated solutions (which allow factors to correlate), but you could examine other rotation options by selecting a different rotation type here.
Parallel analysis suggests that the number of factors = 4 and the number of components = 3
Call: fa.parallel(x = d_all, plot = F)
Parallel analysis suggests that the number of factors = 4 and the number of components = 3
Eigen Values of
A loading greater than abs(1) was detected. Examine the loadings carefully.
Joining, by = "capacity"
Joining, by = "factor"
Joining, by = "factor"
Ignoring unknown aesthetics: y
Here’s a multilevel linear regression on these factor scores, with random intercepts and slopes (for target and factor) by participant. Target is coded with linear and quadratic contrasts, and factor is effect-coded for comparison with the grand mean (with the last factor as the base, -1):
If we consider t-values > 2 to be “significant” and use the plot above to guide our interpretation, here’s what we conclude:
(Intercept): By definition, because we’re using factor scores, which are similar to z-scores, the intercept is ~0.]target.L: Overall, mental capacity attributions increase with target age.target.Q: This increase is generally non-linear.factor1, factor2, …: By definition, because we’re using factor scores, which are similar to z-scores, the differences in means across factors are ~0.]target.L:factor1: The linear increase is more dramatic (steeper slope) for MR1, compared to other factors.target.Q:factor1: The nonlinearity is more dramatic (curvier and/or concave instead of convex curve) for MR1, compared to other factors.target.L:factor2: The linear increase is less dramatic (shallower slope) for MR2, compared to other factors.target.Q:factor2: The nonlinearity is less dramatic (flatter curve) for MR2, compared to other factors.target.L:factor3: The linear increase is more dramatic (steeper slope) for MR3, compared to other factors.target.Q:factor3: The nonlinearity is less dramatic (flatter curve) for MR3, compared to other factors.Joining, by = "capacity"
|===================================================== | 83% ~0 s remaining
|====================================================== | 84% ~0 s remaining
|====================================================== | 84% ~0 s remaining
|======================================================= | 86% ~0 s remaining
|========================================================= | 88% ~0 s remaining
|========================================================== | 89% ~0 s remaining
|=========================================================== | 92% ~0 s remaining
|============================================================= | 95% ~0 s remaining
|============================================================== | 96% ~0 s remaining
|=============================================================== | 98% ~0 s remaining
|=================================================================|100% ~0 s remaining
Joining, by = c("capacity", "factor", "order")
Very Simple Structure
Call: vss(x = x, n = n, rotate = rotate, diagonal = diagonal, fm = fm,
n.obs = n.obs, plot = plot, title = title, use = use, cor = cor)
VSS complexity 1 achieves a maximimum of 0.94 with 1 factors
VSS complexity 2 achieves a maximimum of 0.99 with 2 factors
The Velicer MAP achieves a minimum of 0.01 with 6 factors
BIC achieves a minimum of -6013.88 with 6 factors
Sample Size adjusted BIC achieves a minimum of -1658.73 with 8 factors
Statistics by number of factors
convergence not obtained in GPFoblq. 1000 iterations used. A loading greater than abs(1) was detected. Examine the loadings carefully.
Joining, by = "capacity"
Joining, by = "factor"
Joining, by = "factor"
Ignoring unknown aesthetics: y
Here’s a multilevel linear regression on these factor scores, with random intercepts and slopes (for target and factor) by participant. Target is coded with linear and quadratic contrasts, and factor is effect-coded for comparison with the grand mean (with the last factor as the base, -1):
If we consider t-values > 2 to be “significant” and use the plot above to guide our interpretation, here’s what we conclude:
(Intercept): By definition, because we’re using factor scores, which are similar to z-scores, the intercept is ~0.]target.L: Overall, mental capacity attributions increase with target age.target.Q: This increase is not generally non-linear.factor1, factor2, …: By definition, because we’re using factor scores, which are similar to z-scores, the differences in means across factors are ~0.]target.L:factor1: The linear increase is more dramatic (steeper slope) for MR1, compared to other factors.target.Q:factor1: The nonlinearity is more dramatic (curvier and/or concave instead of convex curve) for MR1, compared to other factors.target.L:factor2: The linear increase is less dramatic (shallower slope) for MR2, compared to other factors.target.Q:factor2: The nonlinearity for MR2 is comparable to other factors.target.L:factor3: The linear increase is more dramatic (steeper slope) for MR3, compared to other factors.target.Q:factor3: The nonlinearity is less dramatic (flatter curve) for MR3, compared to other factors.target.L:factor4: The linear increase is less dramatic (shallower slope) for MR4, compared to other factors.target.Q:factor4: The nonlinearity is more dramatic (curvier and/or concanve instead of convex curve) for MR4, compared to other factors.target.L:factor5: The linear increase is more dramatic (steeper slope) for MR5, compared to other factors.target.Q:factor5: The nonlinearity is less dramatic (flatter curve) for MR5, compared to other factors.Joining, by = "capacity"
|========================================================== | 90% ~0 s remaining
|=========================================================== | 91% ~0 s remaining
|============================================================ | 93% ~0 s remaining
|============================================================= | 95% ~0 s remaining
|=============================================================== | 97% ~0 s remaining
|=================================================================|100% ~0 s remaining
Joining, by = c("capacity", "factor", "order")
Joining, by = "capacity"
[1] "Preset criteria suggest retaining 2 factors"
Joining, by = "capacity"
Joining, by = "factor"
Joining, by = "factor"
Ignoring unknown aesthetics: y
Here’s a multilevel linear regression on these factor scores, with random intercepts and slopes (for target and factor) by participant. Target is coded with linear and quadratic contrasts, and factor is effect-coded for comparison with the grand mean (with the last factor as the base, -1):
boundary (singular) fit: see ?isSingular
Linear mixed model fit by REML ['lmerMod']
Formula: score ~ target * factor + (target + factor | ResponseId)
Data: efa_all_k_scores
REML criterion at convergence: 3395.6
Scaled residuals:
Min 1Q Median 3Q Max
-3.6195 -0.5160 -0.0067 0.5597 2.6302
Random effects:
Groups Name Variance Std.Dev. Corr
ResponseId (Intercept) 0.29682 0.5448
target.L 0.21116 0.4595 -0.31
target.Q 0.01341 0.1158 -1.00 0.25
factor1 0.15653 0.3956 -0.37 -0.64 0.41
Residual 0.16522 0.4065
Number of obs: 1806, groups: ResponseId, 301
Fixed effects:
Estimate Std. Error t value
(Intercept) -3.320e-15 3.283e-02 0.000
target.L 9.083e-01 3.124e-02 29.075
target.Q 3.140e-02 1.786e-02 1.758
factor1 1.868e-15 2.473e-02 0.000
target.L:factor1 2.596e-01 1.657e-02 15.671
target.Q:factor1 1.729e-01 1.657e-02 10.437
convergence code: 0
boundary (singular) fit: see ?isSingular
There are some problems with this model that I haven’t addressed - see warnings above. Ignoring them for now…
If we consider t-values > 2 to be “significant” and use the plot above to guide our interpretation, here’s what we conclude:
(Intercept): By definition, because we’re using factor scores, which are similar to z-scores, the intercept is ~0.]target.L: Overall, mental capacity attributions increase with target age.target.Q: This increase is generally non-linear.factor1: By definition, because we’re using factor scores, which are similar to z-scores, the differences in means across factors are ~0.]target.L:factor1: The linear increase is more dramatic (steeper slope) for MR1, compared to other factors.target.Q:factor1: The nonlinearity is more dramatic (curvier and/or concave instead of convex curve) for MR1, compared to other factors.Joining, by = "capacity"
|================================================ | 75% ~1 s remaining
|================================================= | 76% ~1 s remaining
|================================================== | 77% ~1 s remaining
|================================================== | 78% ~1 s remaining
|==================================================== | 81% ~1 s remaining
|===================================================== | 82% ~1 s remaining
|====================================================== | 84% ~0 s remaining
|======================================================= | 85% ~0 s remaining
|========================================================= | 88% ~0 s remaining
|========================================================== | 91% ~0 s remaining
|=========================================================== | 92% ~0 s remaining
|============================================================= | 94% ~0 s remaining
|============================================================== | 96% ~0 s remaining
|=============================================================== | 97% ~0 s remaining
|=============================================================== | 98% ~0 s remaining
|=================================================================|100% ~0 s remaining
Joining, by = c("capacity", "factor", "order")
Joining, by = "capacity"
What happens if we limit ourselves to assessments of newborns’ mental capacities?
Parallel analysis suggests that the number of factors = 4 and the number of components = 3
Call: fa.parallel(x = d_00mo, plot = F)
Parallel analysis suggests that the number of factors = 4 and the number of components = 3
Eigen Values of
A loading greater than abs(1) was detected. Examine the loadings carefully.
Joining, by = "capacity"
Joining, by = "factor"
Joining, by = "factor"
Joining, by = "capacity"
Joining, by = c("capacity", "factor", "order")
Very Simple Structure
Call: vss(x = x, n = n, rotate = rotate, diagonal = diagonal, fm = fm,
n.obs = n.obs, plot = plot, title = title, use = use, cor = cor)
VSS complexity 1 achieves a maximimum of 0.86 with 1 factors
VSS complexity 2 achieves a maximimum of 0.98 with 2 factors
The Velicer MAP achieves a minimum of 0.01 with 4 factors
BIC achieves a minimum of -6124.8 with 4 factors
Sample Size adjusted BIC achieves a minimum of -1385.1 with 8 factors
Statistics by number of factors
A loading greater than abs(1) was detected. Examine the loadings carefully.
Joining, by = "capacity"
Joining, by = "factor"
Joining, by = "factor"
Joining, by = "capacity"
Joining, by = c("capacity", "factor", "order")
[1] "Preset criteria suggest retaining 2 factors"
Joining, by = "capacity"
Joining, by = "factor"
Joining, by = "factor"
Joining, by = "capacity"
Joining, by = c("capacity", "factor", "order")
What happens if we limit ourselves to assessments of 9-month-olds’ mental capacities?
Parallel analysis suggests that the number of factors = 4 and the number of components = 2
Call: fa.parallel(x = d_09mo, plot = F)
Parallel analysis suggests that the number of factors = 4 and the number of components = 2
Eigen Values of
Joining, by = "capacity"
Joining, by = "factor"
Joining, by = "factor"
Joining, by = "capacity"
Joining, by = c("capacity", "factor", "order")
Very Simple Structure
Call: vss(x = x, n = n, rotate = rotate, diagonal = diagonal, fm = fm,
n.obs = n.obs, plot = plot, title = title, use = use, cor = cor)
VSS complexity 1 achieves a maximimum of 0.86 with 1 factors
VSS complexity 2 achieves a maximimum of 0.98 with 2 factors
The Velicer MAP achieves a minimum of 0.01 with 6 factors
BIC achieves a minimum of -5996.91 with 4 factors
Sample Size adjusted BIC achieves a minimum of -1366.77 with 8 factors
Statistics by number of factors
Joining, by = "capacity"
Joining, by = "factor"
Joining, by = "factor"
Joining, by = "capacity"
Joining, by = c("capacity", "factor", "order")
[1] "Preset criteria suggest retaining 2 factors"
Joining, by = "capacity"
Joining, by = "factor"
Joining, by = "factor"
Joining, by = "capacity"
Joining, by = c("capacity", "factor", "order")
What happens if we limit ourselves to assessments of 5-year-olds’ mental capacities?
Parallel analysis suggests that the number of factors = 3 and the number of components = 2
Call: fa.parallel(x = d_60mo, plot = F)
Parallel analysis suggests that the number of factors = 3 and the number of components = 2
Eigen Values of
A loading greater than abs(1) was detected. Examine the loadings carefully.
Joining, by = "capacity"
Joining, by = "factor"
Joining, by = "factor"
Joining, by = "capacity"
Joining, by = c("capacity", "factor", "order")
Very Simple Structure
Call: vss(x = x, n = n, rotate = rotate, diagonal = diagonal, fm = fm,
n.obs = n.obs, plot = plot, title = title, use = use, cor = cor)
VSS complexity 1 achieves a maximimum of 0.96 with 1 factors
VSS complexity 2 achieves a maximimum of 0.99 with 2 factors
The Velicer MAP achieves a minimum of 0.01 with 6 factors
BIC achieves a minimum of -4946.45 with 5 factors
Sample Size adjusted BIC achieves a minimum of -470.82 with 8 factors
Statistics by number of factors
Joining, by = "capacity"
Joining, by = "factor"
Joining, by = "factor"
Joining, by = "capacity"
Joining, by = c("capacity", "factor", "order")
[1] "Preset criteria suggest retaining 2 factors"
Joining, by = "capacity"
Joining, by = "factor"
Joining, by = "factor"
Joining, by = "capacity"
Joining, by = c("capacity", "factor", "order")
Parallel analysis suggests that the number of factors = 3 and the number of components = 2
Very Simple Structure
Call: vss(x = x, n = n, rotate = rotate, diagonal = diagonal, fm = fm,
n.obs = n.obs, plot = plot, title = title, use = use, cor = cor)
VSS complexity 1 achieves a maximimum of 0.91 with 1 factors
VSS complexity 2 achieves a maximimum of 0.99 with 2 factors
The Velicer MAP achieves a minimum of 0.01 with 3 factors
BIC achieves a minimum of -995.35 with 5 factors
Sample Size adjusted BIC achieves a minimum of -249.51 with 8 factors
Statistics by number of factors
[1] 2
Joining, by = "capacity"
Joining, by = "factor"
Joining, by = "factor"
Joining, by = "capacity"
Joining, by = "factor"
Joining, by = "factor"
Joining, by = "ResponseId"
Joining, by = "ResponseId"
Joining, by = "ResponseId"
Factor `Income` contains implicit NA, consider using `forcats::fct_explicit_na`
Joining, by = "ResponseId"
Factor `Parent` contains implicit NA, consider using `forcats::fct_explicit_na`
Joining, by = "ResponseId"
Finally, I’ll export the 4-factor EFA results to a saved file that I can draw on in our Study 2 analyses.